<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // fn(); // 报错
        let fn = function () { // 匿名函数 不会提升
            console.log('匿名函数')
        }

        show(); // 正常执行
        function show() { // 具名函数 提升
            console.log('具名函数')
        }

        // 立即执行函数
        (function (window) {
            console.log(1)
        })(window);

        // 递归 某个数阶乘
        function facorial(num) {
            return num == 1 ? 1 : num * facorial(--num);
        }
        console.log(facorial(5));

        // 递归求和
        function sum(...args){
            if(args.length===0){
                return 0;
            }
            return args.pop() + sum(...args);
        }

        console.log(sum(1,2,3,4,6,8));

        function star(num){
            if(num==0){
                return ''
            }
            document.write('*'.repeat(num)+'<br>');
            star(--num);
        }
        
        star(5);

    </script>
</body>

</html>